<table class="configuration table table-bordered">
    <thead>
        <tr>
            <th class="text-left" style="width: 20%">Key</th>
            <th class="text-left" style="width: 15%">Default</th>
            <th class="text-left" style="width: 10%">Type</th>
            <th class="text-left" style="width: 55%">Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><h5>state.changelog.enabled</h5></td>
            <td style="word-wrap: break-word;">false</td>
            <td>Boolean</td>
            <td>Whether to enable state backend to write state changes to StateChangelog. If this config is not set explicitly, it means no preference for enabling the change log, and the value in lower config level will take effect. The default value 'false' here means if no value set (job or cluster), the change log will not be enabled.</td>
        </tr>
        <tr>
            <td><h5>state.changelog.max-failures-allowed</h5></td>
            <td style="word-wrap: break-word;">3</td>
            <td>Integer</td>
            <td>Max number of consecutive materialization failures allowed.</td>
        </tr>
        <tr>
            <td><h5>state.changelog.periodic-materialize.enabled</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>Defines whether to enable periodic materialization, all changelogs will not be truncated which may increase the space of checkpoint if disabled</td>
        </tr>
        <tr>
            <td><h5>state.changelog.periodic-materialize.interval</h5></td>
            <td style="word-wrap: break-word;">10 min</td>
            <td>Duration</td>
            <td>Defines the interval in milliseconds to perform periodic materialization for state backend. It only takes effect when state.changelog.periodic-materialize.enabled is true</td>
        </tr>
        <tr>
            <td><h5>state.changelog.storage</h5></td>
            <td style="word-wrap: break-word;">"memory"</td>
            <td>String</td>
            <td>The storage to be used to store state changelog.<br />The implementation can be specified via their shortcut name.<br />The list of recognized shortcut names currently includes 'memory' and 'filesystem'.</td>
        </tr>
    </tbody>
</table>
